home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tech Arsenal 1
/
Tech Arsenal (Arsenal Computer).ISO
/
tek-04
/
cobparam.zip
/
TESTPARM.COB
< prev
next >
Wrap
Text File
|
1990-11-19
|
3KB
|
80 lines
000100 IDENTIFICATION DIVISION.
000200 PROGRAM-ID. TESTPARM.
000300*
000400 AUTHOR. PAUL LYNN.
000500 2904 BUCKSKIN TRAIL
000600 MARIETTA, GA 30064
000700*=================================================================
000800* This Program is Realia Cobol Source Code....
000900*
001000* THE MAIN PURPOSE OF THIS PROGRAM IS TO ILLUSTRATE HOW THE
001100* COMMAND LINE PARAMETERS CAN BE EXTRACTED FOR
001200* USE WITHIN A PROGRAM.
001300*
001400* COMMAND LINE PARAMETERS ARE EXTRACTED
001500* AND PUT INTO THE WORKING STORAGE TABLE FOR LATER USE.
001600*
001700* TO RUN THE PROGRAM ENTER THE FOLLOWING:
001800*
001900* TESTPARM (UP TO SIX Parameters) Whatever you want.......
002000* ec. Testparm Test1 Test2 Test3 Test4 Test5 Test6
002100*=================================================================
002200*
002300 ENVIRONMENT DIVISION.
002400 CONFIGURATION SECTION.
002500 SOURCE-COMPUTER. IBM-PC.
002600 OBJECT-COMPUTER. IBM-PC.
002700*
002800 INPUT-OUTPUT SECTION.
002900 FILE-CONTROL.
003000 DATA DIVISION.
003100*
003200 FILE SECTION.
003300*
003400 WORKING-STORAGE SECTION.
003500*
003600 01 WS-P-PARAMS-AREA.
003700 03 WS-P-PARAM OCCURS 6 TIMES.
003800 05 WS-P-PARAM-CHAR PIC X OCCURS 60 TIMES.
003900 01 PARAM-SUB PIC 9(3) VALUE 1.
004000 01 PARAM-SUB1 PIC 9(3) VALUE 1.
004100 01 PARAM-SUB2 PIC 9(3) VALUE 0.
004200*
004300 01 PARAMETER.
004400 03 PARM-LENGTH PIC S9(04) COMP-4.
004500 03 FILLER PIC X.
004600 03 PARM-CHARS.
004700 05 PARM-CHAR PIC X OCCURS 1 TO 120 TIMES
004800 DEPENDING ON PARM-LENGTH.
004900 PROCEDURE DIVISION.
005000*
005100 GET-PARM-STRING.
005200*
005300 CALL 'DOS_GET_PARMS' USING PARAMETER.
005400*
005500 IF PARM-LENGTH = 0
005600 GO TO GET-PARAM-END.
005700*
005800 PERFORM VARYING PARAM-SUB FROM 1 BY 1
005900 UNTIL PARAM-SUB = PARM-LENGTH
006000 IF PARAM-SUB1 < 7
006100 IF PARM-CHAR(PARAM-SUB) NOT EQUAL ' '
006200 ADD 1 TO PARAM-SUB2
006300 MOVE PARM-CHAR(PARAM-SUB) TO
006400 WS-P-PARAM-CHAR(PARAM-SUB1, PARAM-SUB2)
006500 ELSE
006600 ADD 1 TO PARAM-SUB1
006700 MOVE 0 TO PARAM-SUB2
006800 END-IF
006900 END-IF
007000 END-PERFORM.
007100 GET-PARAM-END.
007200*
007300 IF PARAM-SUB1 > 6
007400 MOVE 6 TO PARAM-SUB1.
007500 PERFORM VARYING PARAM-SUB FROM 1 BY 1
007600 UNTIL PARAM-SUB > PARAM-SUB1
007700 DISPLAY 'PARAM ' PARAM-SUB ' = ' WS-P-PARAM(PARAM-SUB)
007800 END-PERFORM.
007900 STOP RUN.